﻿using System.Collections.ObjectModel;
namespace Renci.Data.Interop.OpenGIS.Gml
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml")]
    [System.Xml.Serialization.XmlRootAttribute("PolygonPatch", Namespace = "http://www.opengis.net/gml", IsNullable = false)]
    public class PolygonPatchType : AbstractSurfacePatchType
    {
        /// <remarks/>
        public PolygonPatchType()
        {
            this.Interpolation = SurfaceInterpolationType.Planar;
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("outerBoundaryIs", Type = typeof(OuterBoundaryIsRingPropertyType))]
        [System.Xml.Serialization.XmlElementAttribute("exterior", Type = typeof(ExteriorRingPropertyType))]
        public AbstractRingPropertyType Exterior { get; set; }

        private Collection<AbstractRingPropertyType> _interiors = new Collection<AbstractRingPropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("innerBoundaryIs", Type = typeof(InnerBoundaryIsRingPropertyType))]
        [System.Xml.Serialization.XmlElementAttribute("interior", Type = typeof(InteriorRingPropertyType))]
        public Collection<AbstractRingPropertyType> Interiors 
        {
            get
            {
                return this._interiors;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("interpolation")]
        public SurfaceInterpolationType Interpolation { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InterpolationSpecified { get; set; }
    }
}
